perm filename GLOSSA.2[FTL,LSP] blob
sn#827448 filedate 1986-10-29 generic text, type T, neo UTF8
\input macros
\def\bookline{\CLOS\ Specification}
\def\chapline{Glossary}
\beginChapter 4.{Common Lisp Object System Specification}%
{Glossary}{Glossary}
\endTitlePage
\beginSection{Introduction}
This section defines the terminology used in this document.
\endSection%{Introduction}
\beginSection{Glossary}
Accessor function
A generic function that enables you to read the value of a slot.
SETF may be used with an accessor function to write the value of
the slot. DEFCLASS has an option for automatically
generating accessor functions for slots.
Built-in class
A built-in class corresponds to one of the predefined Common Lisp
type specifiers; for example array is a built-in class for
objects of type array. The metaclass of an array is
built-in-class. You cannot define new built-in classes, nor use
them in the definition of a new class.
Class An object that describes the structure and behavior of a set of
objects. All Lisp objects have a class, and can be queried for
the class by using the CLASS-OF function.
Classical method
Method selection is based on the class of the first argument to
the generic function (that is, on the class of a single object).
Components
The components of a class include: the class itself, the
super-classes of the class, the super-classes of the
super-classes of the class, and so on.
Default method
A default method does not specify any type for discrimination
purposes, or specifies the type as t. A default method is
selected when no more specific method for the generic function is
defined.
Dispatching
The process of selecting one or more methods to run to perform
a generic function, based on the class of its specialized arguments.
Generic Function
A function that has methods defined for it. Ordinary functions
have a single definition; generic functions have a distributed
definition. The implementation of an ordinary function is the
same whenever the function is called. The implementation of a
generic function varies from call to call, depending on the
classes of its arguments.
Instance Every object is an instance of some class. The term instance is
used to describe the instance/class relationship of an object to
its class.
Metaclass Each object has a class. A class itself is an object which has a
class. The metaclass of an object is the class of the class of
the object.
A metaclass itself is an object, which has a class. The term
metaclass is used to refer to a class that is suitable for being
the class of a class. An instance of a metaclass is a class.
Method An object that describes how to perform a generic function for a
given set of arguments. One or more methods are chosen according
to the classes of the arguments to the generic function; the
choosing of the method or methods is called dispatching.
Multi-method
The dispatching is based on two or more arguments to the generic
function (that is, on the class of several objects).
Object Any Lisp datum, such as a number, a character, or an instance.
Reader function
A generic function that enables you to read the value of a slot.
DEFCLASS has an option for automatically generating accessor
functions for slots.
SETF generic function
A setf generic function is the function that is called when
you evaluate an expression such as: (SETF (G ...) VALUE),
where G is any generic function. One example of G is a slot
accessor.
SETF method
A method for a SETF generic function.
Slots Slots define the structure of instances of the class, as do
defstruct slots. When defining a new class, you specify the
slots of the class. An :instance slot is a place where you can
store data inside an instance. This is the most commonly used
kind of slot, where each instance has an individual slot of the
same name. A :class slot is a place where you can store data
inside a class. There is only one slot, whose value is shared by
all instances of the class.
Super-class
The super-classes of a class are those classes that are included
explicitly in the super-class list in the DEFCLASS form. Each
super-class is an integral part of a class. The class inherits
characteristics (such as slots) and behavior (such as methods)
from each of its super-classes. This is the primary mechanism
for program modularity. A typical mode of use is to define
several basic classes and combine them to achieve specialized
behavior.
\endSection%{Glossary}
\endSection
\endChapter
\bye